namespace CSharpPro._1028;
using System;

/// <summary>
/// 用户类（仅包含字段、属性、构造函数）
/// </summary>
public class User
{
    // 私有字段
    private string _username;  // 用户名（唯一）
    private string _password;  // 密码
    private string _email;     // 邮箱

    // 公共属性（带数据验证）
    public string Username
    {
        get => _username;
        set
        {
            if (string.IsNullOrWhiteSpace(value))
                throw new ArgumentException("用户名不能为空");
            _username = value;
        }
    }

    public string Password
    {
        get => _password;
        set
        {
            if (string.IsNullOrWhiteSpace(value) || value.Length < 6)
                throw new ArgumentException("密码不能为空且长度至少6位");
            _password = value;
        }
    }

    public string Email
    {
        get => _email;
        set
        {
            if (string.IsNullOrWhiteSpace(value) || !value.Contains("@"))
                throw new ArgumentException("邮箱格式不合法");
            _email = value;
        }
    }

    // 构造函数
    public User(string username, string password, string email)
    {
        Username = username;
        Password = password;
        Email = email;
    }
}